package com.dsbj.apolo.facecollector.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsbj.apolo.facecollector.entity.Employee;

import java.util.Date;

public interface EmployeeMapper extends BaseMapper<Employee>,LocalBaseMapper {

	/**
	 * 查询人员信息
	 * @param companyno
	 * @param employeeno
	 * @return
	 */
	Employee findByCompanynoAndEmployeeno(String companyno, String employeeno);

	/**
	 * 查询人员信息
	 * @param employeeno
	 * @return
	 */
	Employee findByEmployeeno(String employeeno);

	/**
	 * 根据手机号码，获取"当前有效的"员工信息。
	 * @param
	 * @return
	 * @author cjw 2019-10-18
	 */
	Employee findAliveByContactway(String contactway);








//	//查询所有员工信息
//	List<Employee> findAllByCaesar();
//
//	/**
//	 * 查询所有人员
//	 * @return
//	 */
//	List<Employee> findAllByEmployeeAndDismissiondateIsNULL();
//
//	//查询公司下的所有员工
//	List<Employee> findAllByCaesarBycompanyno(String companyno);
//
//	void insertByMap(Map<String, Object> map);
//
//	void updateByMap(Map<String, Object> map);
//	/**
//	 * 通过'员工工号'修改
//	 * @param employee
//	 * @return
//	 */
//	int updateByEmployee(Employee employee);

//	/**
//	 *   通過'员工编号'查询 员工信息
//	 * @param empaloyeeno  员工编号
//	 * @return
//	 */
//	Employee findByEmpaloyeeno(String employeeno);
//	/**
//	 *   通過'员工编号'、用户Id、查询 员工信息
//	 * @param empaloyeeno  员工编号
//	 * @return
//	 */
//	Employee findByCompanynoAndEmpaloyeenoAndDeptUserRight(String companyno, String employeeno, String userid);
//
//	/**
//	 * 验证'员工工号'是否存在
//	 * @param map
//	 * @return
//	 */
//	boolean checkEmployeeno(Map<String, Object> map);
//	/**
//	 * 验证'身份证号码'是否存在'黑名单'中
//	 * @param map
//	 * @return
//	 */
//	boolean checkIdcardno(Map<String, Object> map);
//	/**
//	 * 通过'公司编号'查询该公司员工
//	 */
//	boolean findByCompanyno(String companyno);
//	/**
//	 * 通过银行卡号查询
//	 * @param bankCardNo
//	 * @return
//	 */
//	Employee findByBankCardNo(String bankCardNo);
//	/**
//	 * 验证'身份证号码'是否存在'人员档案'中
//	 * @param map
//	 * @return
//	 */
//	List<Employee> findEmployeeByIdcardno(String idcardno);
//	/**
//	 * 验证'身份证号码'是否离职
//	 * @param map
//	 * @return
//	 */
//	Employee findEmployeeByIdcardno3(String idcardno);
//	/**wcm条件不一致
//	 * 验证'身份证号码'是否存在'人员档案'中
//	 * @param map
//	 * @return
//	 */
//	Employee findEmployeeByIdcardno2(String idcardno);
//	/**
//	 * 验证'身份证号码'是否存在'人员档案'中 ， 验证'人员档案'中的身份证
//	 * @param map
//	 * @return
//	 */
//	List<Employee> findEmployeeByIdcardnoAndId(Map<String, Object> map);
	/**
	 * 获取数据库时间
	 * @return
	 */
	Date findDatabaseDate();
//
//	//自定义分页查询 返回数量
//	int countEmployee(Map<String, Object> map);
//	//返回
//	List<Employee> queryPageEmployee(Map<String, Object> map);
//
//	//MES-自定义分页查询 返回数量
//	int countMESEmployee(Map<String, Object> map);
//	//MES-返回
//	List<Map<String, Object>>  queryPageMESEmployee(Map<String, Object> map);
//
//	/**
//	 * 通过'公司编号'、起薪结束日期、查询所有'员工'在职员工
//	 * @param companyno  公司编号
//	 * @param salaryEndDay  薪水结束日期
//	 * @param salaryStartDay  薪水开始日期
//	 * @return
//	 */
//	List<Employee> findAllEmployeeByCompanyno(String companyno, String salaryEndDay, String salaryStartDay);
//	/**
//	 *  通过'身份证号码'查询所有在职'员工'
//	 * @param idcardnos 身份证号码
//	 * @return
//	 */
//	List<Employee> findAllEmployeeByIdcardnos(Map<String, Object> map);
//	/**
//	 *  通过'身份证号码'查询所有离职'员工'
//	 * @param idcardnos 身份证号码
//	 * @return
//	 */
//	List<Employee> findAllDismissionEmployeeByIdcardnos(Map<String, Object> map);
//	/**
//	 *  通过'身份证号码'查询离职'员工'     面试确认导入数据校验
//	 * @param idcardnos 身份证号码
//	 * @return
//	 */
//	List<Employee> findAllDismissionEmployeeByIdcardnos2(String idcardno);
//
//	//根据身份证验证重复
//	Employee checkByIdcardno(String idcardno);
//	/*根据传入map得到y员工工号*/
//	List<String> findEmployeenoByMap(Map<String, Object> map);
//	//每个月人数
//	List<Employee> findByMonth(Map<String, Object> map);
//	//年份
//	List<String> findYears();
//	//查询公司人数
//	List<Employee> findCompanyCount(Map<String, Object> map);
//	Employee findDeptCount(Map<String, Object> map);
//	List<Employee> findDeptMonth(Map<String, Object> map);
//	List<Employee> findAllEmployeeByNos(Map<String, Object> map);
//	//查找所有在职员工删除标记为1的身份证号
//	List<String> findAllIdcard(String companyno);
//	/**
//	 * 查询所有信息
//	 * @return
//	 */
//	List<Employee> findAllInfo();
//	//根据当前登录人公司编号查出此公司所有员工
//	List<String> findByLoginUserCompanyNo(String companyno);
//	/**
//	 * 通过部门编号(depts)、公司编号查询是否被引用
//	 * @param map
//	 * @return
//	 */
//	List<String> findByCompanynoAndDepts(Map<String, Object> map);
//
//	/**
//	 * 验证 身份证号码 是否在职
//	 * @param map
//	 * @return
//	 */
//	List<Employee> checkIdcardnos(Map<String, Object> map);
//
//	//zc  通过工号和离职日期找到   一批人的工号
//	List<Employee>findByEmployeenoAndDismissiondate(Map<String, Object> map);

//	/**查询人员信息
//	 * @param companyno
//	 * @param employeeno
//	 * @return list<employeeno>
//	 * */
//	List<String>  findEmployeenoBycompanynoAnddeptno(String companyno, String deptno);
//
//	String findByEmployeeEod(String employeeno);//根据工号查找是否在职
//	/**
//	 * 通过公司编号、月份查询月考勤人员信息
//	 * @param companyno
//	 * @param yearmonth
//	 * @return
//	 */
//	List<Employee> findMonthReportByCompanynoAndYearMonth(Map<String, Object> map);
//
//	/**
//	 * 通过公司编号查询VIP人员最大的编号
//	 * @param companyno
//	 * @return
//	 */
//	String findMaxEmployeeVipNo(String companyno);
//
//	/**
//	 * 查询VIP就餐人员编号是否存在
//	 */
//	boolean checkEmployeeVIPNo(Map<String, Object> map);
//
//	//VIP卡使用   通过工号查询数据
//	List<Employee> findByEmployeeNoForVip(Map<String, Object> map);
//	//VIP卡使用   通过工号查询数据
//	Employee findByEmployeeNoByMap(Map<String, Object> map);
//
//	/**
//	 * VIP就餐人员停用
//	 * @param map
//	 */
//	void updateStatusByIds(Map<String, Object> map);
//
//	/**
//	 * 验证'员工工号'是否存在
//	 * @return
//	 */
//	boolean checkEmployeenoByCompanynoAndEmployeeno(String companyno, String employeeno);


}
